/*
  懒惰的猫咪
  题目描述
    小猴有 n 只猫咪，编号从 1 到 n。
    每只猫咪都有自己的地盘，初始时第 i 只猫咪在第 i 个位置上。
    它们在自己的位置待了很长时间了，已经产生厌倦，
    所以小猴想重新安排它们的位置，这样就不会有猫咪和之前一样还在同一个位置。
    但是小猴也很懒，所以他想尽量缩短移动的总距离。
    例如，有 3 只猫咪，初始时它们的位置分别是 1, 2, 3；
      1 号猫咪向右移动两个位置，
      2 号猫咪向左移动一个位置，
      3 号猫咪向左移动一个位置。
    经过移动之后猫咪们的位置分别是 2, 3, 1，并且这个移动的总距离为 2 + 1 + 1 = 4。

    请你帮助小猴计算一下移动所有猫咪的最短总距离，
    并按照从左到右的位置顺序输出每一个位置上最后是那一只猫咪，
    如果有多种移动方式，输出其中字典序最小的一种。
  输入描述
    第一行包含整数 T，表示共有 T 组测试数据。
    每组测试数据，一行一个整数 n。
  输出描述
    每组数据的第一行一个整数，表示移动所有猫咪的最短总距离；
    每组数据的第二行 n 个整数，第 i 个整数表示移动之后第 i 个位置上猫咪的编号。
  样例1
    输入
      2
      2
      3
    输出
      2
      2 1
      4
      2 3 1
  样例2
    输入
      2
      4
      5
    输出
      4
      2 1 4 3
      6
      2 1 4 5 3
  样例3
    输入
      3
      6
      7
      9
    输出
      6
      2 1 4 3 6 5
      8
      2 1 4 3 6 7 5
      10
      2 1 4 3 6 5 8 9 7
*/